home *** CD-ROM | disk | FTP | other *** search
- #include "EventLib.h"
- #include "FloatMenuLib.h"
-
- static EventTableType gEventTable;
- static TaskHandle gAdjustTask;
-
- static Boolean within(EventObjectType object, Point where)
- {
- return(true);
- }
-
- static Boolean mousedown(EventObjectType object, EventRecord *event)
- {
- FloatMenuChoose(object);
- return(true);
- }
-
- static void update(EventObjectType object)
- {
- FloatMenuDraw(object);
- }
-
- static void close(EventObjectType object)
- {
- FloatMenuClose(object);
- }
-
- static void adjustTask(TaskHandle task, void *data)
- {
- check(task == gAdjustTask);
- EventPostTaskDelete(gAdjustTask);
- gAdjustTask = NULL;
- FloatMenuAdjustAll();
- }
-
- static void adjustmenu(void)
- {
- if (! gAdjustTask)
- gAdjustTask = EventPostTaskInsert(adjustTask, NULL);
- }
-
- static void memorylow(void)
- {
- FloatMenuMemoryLow();
- }
-
- const /* EventTableType */ void *FloatMenuEventTable(void)
- {
- return(&gEventTable);
- }
-
- void FloatMenuEventTableRegister(void)
- {
- gEventTable.window.update = update;
- gEventTable.window.close = close;
- gEventTable.focusWindow.within = within;
- gEventTable.focusWindow.mousedown = mousedown;
- gEventTable.objectType.adjustmenu = adjustmenu;
- gEventTable.objectType.memorylow = memorylow;
- EventTableRegister(&gEventTable);
- }
-